package com.alibaba.citrus.ots.sales.plan.dto.api.request;

import com.alibaba.citrus.ots.sales.plan.CustomLockKey;
import com.alibaba.citrus.ots.sales.plan.model.enums.SalesPlanStatusEnum;
import lombok.Data;

import java.io.Serializable;
import java.util.Optional;

/**
 * 生成部门回复量请求体
 * @author zls
 * @date 2021年10月15日16:45:45
 */
@Data
public class DispatchPlanScItemRequest  implements CustomLockKey, Serializable {
    private static final long serialVersionUID = 7736789634293711069L;
    /**
     * 月度计划ID
     */
    private String planId;

    /**
     * 调整ID
     */
    private String adjustId;
    /**
     * 月度时间
     */
    private String planTime;

    /**
     * 员工id
     */
    private String employeeId;

    /**
     * 数据维度类型
     * 999：业务员货品汇总 106：销售部门货品汇总 105：销售渠道货品汇总 104：销售组织货品汇总 103：业务单元货品汇总
     * 1：业务员货品汇总 2：销售部门货品汇总 3：销售渠道货品汇总 4：销售组织货品汇总 5：业务单元货品汇总
     */
    private String bizType;

    /**
     * 数据维度Id
     */
    private String bizId;

    /**
     * @see SalesPlanStatusEnum
     */
    private Integer status;

    @Override
    public String getCustomLockCondition() {
        return Optional.ofNullable(adjustId).orElse(planId);
    }
}
